package com.cmii.sjw.department.control.jsc.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cmii.sjw.department.control.jsc.model.dto.RoleQueryDTO;
import com.cmii.sjw.department.control.jsc.model.entity.Role;

import java.util.List;

/**
 * @Author jfh
 * @Date 2025-04-08 周二 15:35
 * @Version 1.0
 */
public interface RoleService extends IService<Role> {

    boolean saveRoleWithMenus(Role role, List<Long> menuIds);

    List<Long> getMenuIdsByRoleId(Long roleId);

    boolean deleteRole(Long id);

    boolean updateRoleStatus(Long id, Integer status);

    Page<Role> getRolePage(RoleQueryDTO queryDTO);

    boolean assignUsersToRole(Long roleId, List<Long> userIds);

    boolean batchDisableStatus(Long[] ids);

    boolean batchActivationStatus(Long[] ids);
}
